This invention relates to Ethernet network systems, and more particularly, to the application of back pressure within an Ethernet communication network.
Ethernet systems are increasingly more popular and are a type of local area network that is now a standard network implementation by a number of manufacturers and defined by the IEEE 802.3 standard. The Ethernet systems use a special low impedance coaxial cable or other media like twisted-pair wire in a tree configuration, where several hundred devices can be connected to a single length of cable. The capacity of the cable is shared among these devices by a protocol commonly known as carrier sensed multiple access with collision detection (CSMA/CD).
Ethernet was developed in the mid-1970s and forms the basis of the IEEE 802.3 specification. Thus, Ethernet and IEEE 802.3 LANs are almost identical. Both are broadcast networks that use the CSMA/CD (carrier sense multiple access with collision detection) MAC sublayer.
While the physical layer specification may vary, all IEEE 802.3 local area networks (LANs) consist of stations (end systems) connected to a common broadcast medium. Each station examines each successfully transmitted frame it has received to determine if it is the destination of the frame. The frame is copied or dropped accordingly. Before, transmitting, each station with a frame to transmit listens to the network, a process known as carrier sensing. If there is silence, the station transmits the frame. If the network is busy, the station waits until the network is silent before commencing transmission. Even with this xe2x80x9clisteningxe2x80x9d function, two or more stations may start transmitting almost simultaneously and may collide with each other, creating a garbled signal. Stations must detect this garbled signal as a collision. Thus, these stations perform what is known as collision detection. A back-off algorithm is then used to reschedule the next attempted transmission of each station involved in the collision.
Ethernets with data rates of 10 Mb/s are the most common, but 100 Mb/s and 1 Gb/s are also available today. The common connector topology is an unshielded twisted pair (UTP, 10 BaseT standard, the maximum length from a station to a hub is 100 meters), connecting each station to a hub in a star topology. Unshielded twisted pair, shielded twisted pair or fiber optic lines can be used in 100 BaseT and 1000 BaseT networks.
A basic Ethernet hub is an Ethernet network device that emulates a bus by repeating a transmission from one station to all other stations. Thus, all stations connected to the hub can detect if the network is silent, or has an ongoing transmission or a collision. Hubs have become increasingly more sophisticated and some are functionally indistinguishable from sophisticated high-speed switches (i.e., they can switch packets between LAN ports simultaneously, so long as the destination ports do not collide).
A switched Ethernet hub connects multiple Ethernet ports, with each port designed as a separate segment, typically running at 10 Mbps. Often, several nodes transmit to a common destination, such as a file server. When this happens, packets can be dropped. Also, during periods of high data burst, the switch may run out of memory to receive ensuing packets. Switch manufacturers attempt to alleviate these bottleneck problems by providing large amounts of buffering on some ports, which increases the cost of the overall system. Other manufacturers are using back pressure and/or software flow control techniques to alleviate traffic congestion problems.
In many Ethernet controller designs, back pressure is implemented by generating a xe2x80x9cfakexe2x80x9d collision on the network, which forces the sending device to back off and attempt a retransmit after the back-off period. This, in turn, forces a throttling back of the LAN segment that is experiencing congestion. When the sending port attempts to try to transmit again, the congested port may force another xe2x80x9cfakexe2x80x9d collision or accept the incoming packet if congestion has been removed. Examples of Ethernet systems having collision systems include U.S. Pat. Nos. 5,673,254 and 5,453,980, the disclosures which are hereby incorporated by reference in their entirety.
Forcing collisions on the network as a back pressure/flow control technique is not desirable because network performance is dramatically impacted with each successive collision exponentially increasing the back-off period, and collision counts in the Ethernet controllers do not reflect just xe2x80x9cnormalxe2x80x9d collisions, but the fake ones as well, misleading network administrators.
Software flow control methods are even less desirable since they consume CPU bandwidth and are difficult to implement. No Ethernet controller is known to be available that provides an intelligent and effective back pressure control method.
It is therefore an object of the present invention to provide an intelligent and effective back pressure control method in an Ethernet system that does not force collisions, and where network performance is not dramatically impacted.
In accordance with the present invention, the network device comprises a device having Quad-MAC addresses and flow-control by providing an intelligent flow-control/back pressure algorithm to each receive port. For each receive port, a back pressure input pin is asserted and causes only a preamble (i.e., without a start of frame delimiter field) to be transmitted (or driven) onto the network. In a preferred embodiment, the preamble will be asserted only if the line is idle or if the network device has started to transmit the preamble but has not transmitted the synch xe2x80x9c11xe2x80x9d bytes. The minimum size of the back pressure continuous preamble is 76 bytes to assure that all nodes on the network hear the back pressure limiting the collisions on the network to one. The minimum time is one slot time (64 bytes), plus the preamble time of eight bytes and jam time of four bytes.
In accordance with the present invention, the Ethernet device comprises a communication port that can be configured for half-duplex mode. A media access control (MAC) unit is associated with the communication port and provides interface signals for a physical network layer. The device transmits only a back pressure continuous preamble of a packet without a start-of-frame delimiter onto a network after receiving a back pressure signal and after waiting an interpacket gap time (IPG), when the port is only configured within the half-duplex mode.
The Ethernet device further comprises a back pressure input pin within the media access control unit, which when asserted, causes only the preamble without the starter frame delimiter to be forwarded onto the network. The media access control unit also comprises a plurality of system interface pins, including the back pressure input pin. The media access control unit comprises a Quad-MAC device. The device also comprises a FIFO and direct memory access (DMA) unit. The device has a FIFO mode and DMA mode and the media access control unit asserts the back pressure pin in a FIFO mode of operation. A host processor asserts the back pressure pin in a DMA-mode.
The minimum size of the back pressure continued preamble is about 76 bytes, and can comprise one slot time of 64 bytes, a preamble of eight bytes and a jam time of four bytes. The transmitted preamble terminates on byte boundaries.
In accordance with the present invention, the Ethernet communication network comprises a host system having a memory and an Ethernet device that shares the memory with the host system. The Ethernet device includes a communication port that can be configured for half-duplex mode. The communication port has a portion of shared memory allocated to the port. A media access control (MAC) unit is associated with the communication port and provides interface signals for a physical network layer. The device transmits only a continuous preamble of a packet without a starter frame delimiter onto the network after receiving a back pressure signal when the communication port is configured only within the half-duplex mode and after the allocated portion of memory has been substantially filled.
In accordance with the present invention, a method of the present invention applies back pressure within an Ethernet communication network and comprises the steps of asserting a back pressure pin of a media access control unit associated with the network communication port of an Ethernet device. In response to asserting the back pressure pin, only the continuous preamble is transmitted without a start-of-frame delimiter onto the network. The method also comprises the step of waiting an interval packet gap time before transmitting the back pressure continuous preamble. The interpacket gap time is about 96 bit times and the method also comprises the step of terminating transmitted preamble on byte boundaries. The method also comprises the step of transmitting a minimum of 608 preamble bits.